return surface;
}
-/**
- * gdk_device_get_history: (skip)
- * @device: a #GdkDevice
- * @surface: the surface with respect to which the event coordinates will be reported
- * @start: starting timestamp for range of events to return
- * @stop: ending timestamp for the range of events to return
- * @events: (array length=n_events) (out) (transfer full) (optional):
- * location to store a newly-allocated array of #GdkTimeCoord, or
- * %NULL
- * @n_events: (out) (optional): location to store the length of
- * @events, or %NULL
- *
- * Obtains the motion history for a pointer device; given a starting and
- * ending timestamp, return all events in the motion history for
- * the device in the given range of time. Some windowing systems
- * do not support motion history, in which case, %FALSE will
- * be returned. (This is not distinguishable from the case where
- * motion history is supported and no events were found.)
- *
- * Note that there is also gdk_surface_set_event_compression() to get
- * more motion events delivered directly, independent of the windowing
- * system.
- *
- * Returns: %TRUE if the windowing system supports motion history and
- * at least one event was found.
- **/
-gboolean
-gdk_device_get_history (GdkDevice *device,
- GdkSurface *surface,
- guint32 start,
- guint32 stop,
- GdkTimeCoord ***events,
- gint *n_events)
-{
- g_return_val_if_fail (GDK_IS_DEVICE (device), FALSE);
- g_return_val_if_fail (device->source != GDK_SOURCE_KEYBOARD, FALSE);
- g_return_val_if_fail (GDK_IS_SURFACE (surface), FALSE);
-
- if (n_events)
- *n_events = 0;
-
- if (events)
- *events = NULL;
-
- if (GDK_SURFACE_DESTROYED (surface))
- return FALSE;
-
- if (!GDK_DEVICE_GET_CLASS (device)->get_history)
- return FALSE;
-
- return GDK_DEVICE_GET_CLASS (device)->get_history (device, surface,
- start, stop,
- events, n_events);
-}
-
-GdkTimeCoord **
-_gdk_device_allocate_history (GdkDevice *device,
- gint n_events)
-{
- GdkTimeCoord **result = g_new (GdkTimeCoord *, n_events);
- gint i;
-
- for (i = 0; i < n_events; i++)
- result[i] = g_malloc (sizeof (GdkTimeCoord) -
- sizeof (double) * (GDK_MAX_TIMECOORD_AXES - device->axes->len));
- return result;
-}
-
-/**
- * gdk_device_free_history: (skip)
- * @events: (array length=n_events): an array of #GdkTimeCoord.
- * @n_events: the length of the array.
- *
- * Frees an array of #GdkTimeCoord that was returned by gdk_device_get_history().
- */
-void
-gdk_device_free_history (GdkTimeCoord **events,
- gint n_events)
-{
- gint i;
-
- for (i = 0; i < n_events; i++)
- g_free (events[i]);
-
- g_free (events);
-}
-
/**
* gdk_device_get_name:
* @device: a #GdkDevice